package v3.originator;

import originator.CouperOriginator;
import v3.caretaker.GestionDefaireImpl;
import v3.memento.CouperMementoV3;
import v3.memento.MementoV3;

public class CouperOriginatorV3 implements OriginatorV3 {
	
	
	public CouperOriginatorV3(GestionDefaireImpl _gestion,
			CouperOriginator _couper) {
		super();
		this._gestion = _gestion;
		this._couper = _couper;
	}

	private GestionDefaireImpl _gestion;
	private CouperOriginator _couper;

	@Override
	public void execute() {
		
		MementoV3 m = new CouperMementoV3(this);
		_gestion.sauvegarder(m);
		_couper.execute();

	}

	@Override
	public void setMemento(MementoV3 m) {
		((CouperOriginatorV3) m.getCommand()).execute();

	}

}
